The present invention is directed to the management of large amounts of data, sometimes referred to as xe2x80x9cdata warehousingxe2x80x9d, and more particularly to the management of data in a manner which permits a user to examine the data across multiple dimensions, and thereby gain more insight into information represented by the data.
In many different business environments, database systems are used to manage various types of information which relate to the businesses. For relatively modest amounts of information, a number of suitable database systems are available. However, as the volume of information increases, the ability of the user to construct a request for certain types of information, and to obtain meaningful results from such a request, becomes more difficult. This difficulty is due, at least in part, to the fact that the data itself becomes more complex, and therefore presents a variety of different perspectives from which a search for specific information can be formulated. As a result, specialized types of database systems have been developed for situations in which large volumes of highly varied data are encountered, to facilitate the user""s ability to manage and access that data. For instance, a relational database management system stores different aspects of data in different respective tables, which are linked to one another by common attributes. When a user enters a query, pertinent data is extracted from the various tables to provide a response.
One example of a situation that presents highly complex data access requirements is the field of manufacturing component and supplier management. For a large manufacturing organization that may have several sites that produce a variety of products, the number of individual components that are used in those products may number in the thousands or even millions. Depending upon the nature of the component, many different parameters may be used to identify it and describe its source and characteristics. Because of the large amount of data, and the various manners in which it can be interlinked, a relational database may prove to be too cumbersome to use in this situation, since the layout of the data in the tables may no longer be intuitive to the user, and therefore makes it difficult to construct meaningful queries. To provide the user with the ability to regularly manage the large volumes of information presented in this type of situation, a database management system which integrates the advantages of relational databases and object-oriented databases has been found to be quite effective. An example of such a database system, which is referred to as an object/relational database system, is described in application Ser. No. 08/951,714, filed Oct. 16, 1997; now abandoned.
An object/relational database management system of the type described in this application provides the user with the ability to organize the data in a cognitive manner, by creating a hierarchical object model. This object model is linked to a relational database in a manner which enables the user to present queries to the database in the context of an organizational structure that is understood by the user. Thus, in the example of a component and supplier management system of the type described above, a product engineer can readily obtain information about a component that is provided by a variety of different suppliers, and compare and contrast various pieces of this information to identify the particular item which best suits the needs of a given product.
It is desirable to improve upon the capabilities provided by an object/relational database management system, in a manner which enables the user to access the data in a multi-dimensional manner. For instance, a financial manager may want to know which commodities were most used in a particular financial quarter across all manufacturing sites, and compare that information to a previous quarter or a particular site. A purchasing officer may desire to know the price that was paid for a particular component at the respective sites, to identify discrepancies. These types of information require the data to be searched in multiple dimensions, i.e. by time, manufacturing site and commodity. In the past, a star-schema approach has been employed to provide this type of multi-dimensional search capability in a relational database system. In general, the star schema comprises a single fact table and a number of dimension tables that respectively correspond to each of the dimensions of the data, e.g. time, site, product. The dimension tables describe the attributes of that dimension, e.g. the attributes of the time dimension might comprise date, month, quarter and year. The fact table contains a reference, or key, to each dimension table, as well as the detailed data that can be aggregated in a query, e.g. dollar cost for a given component at a given site on a particular date.
The star schema organizes the data in a flat, or non-hierarchical, manner, which makes it difficult to construct queries. More particularly, a query has to address the fact table and the dimension tables. This approach requires a significant programming effort, both to initially create the star schema as well as to subsequently maintain it. Furthermore, because of the programming effort required to link the various tables of the database in a manner that is necessary to obtain the desired results, it is not readily extensible to accommodate new types of data. Consequently, the ability to conduct multi-dimensional searches is quite limited, because of the special knowledge it requires.
It is further desirable, therefore, to provide a object/relational database management system in which multi-dimensional searches can be easily constructed by the user in a dynamic manner, and which is readily extensible, without requiring any significant programming, or the like.
In accordance with the present invention, the foregoing objectives are achieved in an object/relational database management system by organizing the data into hierarchical classes which correspond to each of the dimensions that might be used to characterize the data. All relevant data is consolidated into a fact table, which is based upon transactional information of interest. The data within this table is linked to the top level of each class that corresponds to a different dimension of data. All subclasses which exist within a given dimensional class automatically inherit the linked reference to the consolidated data. As a result, the user is only required to select search criteria within particular classes that correspond to the dimensions of interest. This search criteria is then used to form a query which is applied to a relational database, to obtain the desired results.
A further feature of the invention resides in the user interface by which information about the data is accessed. The user interface displays the hierarchical organization of the dimensional classes and their respective subclasses, to thereby provide the user with an indication of possible areas of inquiry. For any given subclass, the user interface displays properties associated with that subclass, that can be used to specify search criteria. These properties can be limited to only those which are specific to a particular subclass, or include those which are inherited from parent classes and subclasses as well.
By virtue of these features, the present invention provides an object/relational database management system that enables a user to present inquiries and analyze data in a truly multi-dimensional manner that is inherently intuitive to the user, based upon the hierarchical organization of the classes. Further features of the invention, and the advantages attained thereby, are described hereinafter with reference to specific embodiments illustrated in the accompanying drawings.